細看 JUCE 框架的設計,可以看到一些 Design Pattern 實例。本文列出幾個。
Singleton 帶來的副作用,理論上能不用就不用,但其帶來的便利,實務上卻是很難避開。JUCE 有一些組件以 Singleton 實作:
幾乎每一個 JUCE GUI Component 都定義了 Listener 介面,用來接收 Component 的狀態變化。一個 Component 可以有多個 Listener 物件,即為 Component 之 Observer。
ChangeBroadcaster 定義的 Publisher 介面,減化實作細節。而 ChangeListener 則定義了 Subscriber 介面,讓開發者專注在收到通知時的邏輯。
AudioDeviceManager 用來產生 Audio 裝置相關物件。